package edu.gmu.atelier.generic;

import edu.gmu.atelier.Epsilon;
import edu.gmu.atelier.Epsilon;

/**
 * Vector defined within some vector space.
 * @author James H. Pope
 */
public interface Vector //<V extends Vector>
{
    public double getElement(int i);
    public int getLength();
    
    
    //public void setComponent(int i, Vector v);
    public void mult(double scalar);
    public void add(Vector v);
    public void multAdd(double scalar, Vector v);
    public double dot(Vector v);
    
    public Vector copy();
    public Vector make();
    public Vector make(int n);
    public boolean similar( Object obj, Epsilon e );
}
